The present invention relates to a method of modeling a solid three-dimensional object and relates more particularly to a method of preparing a model that consists of a plurality of layers stacked atop one another wherein the boundary edge of each layer may vary from the boundary edge of its adjacent layer (above or below) or layers (above and below) to conform to contours in the shape of the object.
After an object is designed, as by freehand drawings or computer aided design (CAD) for example, there are different ways to represent this object in a computer. A solid geometric modeling system is a computer graphic system which is used to represent solid objects. If the computer system constructs and stores all the geometric information of the boundary surfaces of the object, then it is called a solid modeling system with boundary representation. The stored boundary information is called the boundary file of the solid.
The most commonly used method of modeling a solid object is to combine so-called primitive objects together to form a more complicated object, such as disclosed in U.S. Pat. No. 4,618,924. The Boolean set operations, such as union, intersection, and difference, are used to produce the combination. To calculate the boundary of the object that results from combining two objects A and B, one must calculate the intersections of the boundary surfaces of A and B.
Once an object is modeled, the boundary file stored in the computer's database can be used for a number of purposes. For example, the boundary file can be used to compute the cutter paths of a numerical control (NC) machine tool. If the machine tool makes the desired object by removing (or adding) one layer of constant thickness at a time, the machine tool employs constant-layer-thickness machine control, as disclosed in U.S. Pat. Nos. 4,907,164; 4,996,010; 5,053,090 for example. If the desired object is to be fabricated by machining it from a solid workpiece by removing unwanted material from the workpiece as disclosed in U.S. Pat. No. 4,618,924 for example, the fabrication tool is constrained to trace a path around the workpiece that corresponds to the edge of each layer of the model. As the fabrication tool (such as a mill) completes each successive path, a layer of the desired object is completed. Each layer has the same thickness and can be thought of as having a flat top surface parallel to a flat bottom surface. Each layer has an edge, the so-called boundary surface, that extends between the top and bottom surfaces and is shaped according to the characteristics of the fabrication tool. If the edge of the model layer is normal to the top and bottom surfaces, as would be produced by a flat end mill, and were to be projected onto a plane parallel to either the top or bottom surface of the layer, the shape of the projection would approximate the shape of the intersection of a parallel plane with the outer surface of the object being modeled. The interface plane that exists between successive layers is often described as being produced by slicing the object, with the locus of the plane defining the slice. Thus, a constant-layer-thickness model is said to have a uniform interval between adjacent slices.
In a typical manufacturing process based on a constant-layer-thickness model of the object to be produced, the fabrication tool, such as a cutting tool, would start at one end of the workpiece and remove material from the workpiece until the tool was able to trace out a path that corresponded to the edge of the end-most layer of the model, without removing any further material from the workpiece. Then the tool would be repositioned one layer away from the end-most layer on the workpiece and similarly remove material from the workpiece until the tool was able to trace out a path that corresponded to the edge of the next layer of the model, without removing any further material from the workpiece. This would be repeated until the tool reached the opposite end-most layer of the workpiece corresponding to the opposite end layer of the model.
The quality of the surfaces of the parts obtained by such constant-layer-thickness manufacturing depends on two factors. The first factor is the stair-stepping effect on the surface of the part that results from using stacked layers to approximate the geometry of the part being manufactured. As shown in FIGS. 1A-1G, the so-called stair-step effect occurs when the edge of one layer misaligns with the profile of the desired object. The second factor is the manufacturing process that is used to create the part from the model consisting of the stacked layers.
A vertical cylinder can be represented exactly by two planar intersections, each one corresponding to a slice, one at the bottom and another at the top. Whereas a similarly exact geometrical representation of a cylinder lying on its curved side, or any other object with a free form surface, would require an infinite number of slices. Because of the stair-stepping that characterizes this type of layered modeling of an object, a curved portion of an object described by successive layers, is a less exact representation than a solid CAD model (which is less exact than the original freehand drawn design). Therefore, a lot of information on the geometry of the object is lost in slicing, because of the transformation from a three dimensional (3D) representation to a two dimensional (2D) laminar representation. If the number of slices is increased, corresponding to a decrease in the thickness of the individual layers, less information is lost, and accordingly the fit becomes more precise. However, increasing the number of slices (or layers) increases the file size and the time needed for both computation and performing the process.
In conventional 3-axis machining for example, the stair step error manifests itself in the surface texture. Layer thickness is defined in a conventional process by an experienced user at the beginning of the modeling procedure. However, because the material is removed (or added in some free form fabrication processes) layer after layer during a layer-based process for manufacturing the object, the machine direction and the machine patterns cannot be altered once they have been set. If the software that controls the machine using the model permits, the machine operator can partition the model of the object into several intervals, each interval corresponding to a standard geometrical shape that is definable by a single edge shape for several successive layers. The operator provides the control software with a constant layer thickness for each interval, wherein each layer thickness is chosen to the operator's best ability to improve quality and reduce process time for that particular interval of the object.
The effect of having the machine produce successive layers of constant thickness on the surface texture of the object being manufactured, can best be appreciated in the FIG. 2 chart showing the surface roughness of the top portion of a sphere that has been machined using a flat end mill in a manner that produces the object in successive layers of constant thickness. As shown in FIG. 2, the roughness varies significantly over this portion of the sphere's surface. The increasing peak-to-valley dimension results from the object's spherical geometry, which is a geometrical parameter. As the local slope of the sphere's surface decreases, the impreciseness attributable to the stair-stepping effect, increases. Therefore, while a geometrical error on the order of 107 .mu.m (measured in the 0 mm to 1 mm interval at the beginning of the profile in FIG. 2) produced by the stair-stepping effect, may be within the tolerance, a geometrical error on the order of 192 .mu.m (measured in the 5 mm to 6 mm interval at the end of the profile in FIG. 2) is not necessarily within the tolerance. In this particular case, if a constant layer thickness .DELTA.Z is used to control the manufacturing process, the magnitude of the constant layer thickness .DELTA.Z must be selected for the roughness parameter's worst case scenario, which occurs at the top of the sphere where the local slope is the smallest. However, if the layer thickness .DELTA.Z for the entire object is reduced in order to ensure that the roughness of a particular portion of the surface of the object meets the desired tolerance, the resulting increase in machining time significantly increases the expense of machining in this fashion. This illustrates that while surface texture can be acceptable for many surfaces, some limitations of constant thickness slicing cannot be overcome. Moreover, the problems identified above in connection with a manufacturing process, are encountered in any process employing a profile or cross-section that is decomposed by incremental parallel planes of intersection. Such problems might occur for example in controlling machines used in processes such as: three-dimensional cartography; three-dimensional reconstructive holography; three-dimensional printing systems; electron microscopy; sonar imaging; ultrasound imaging; magnetic resonance imaging; computerized tomography; X-ray imaging; laser scanning; surface inspection; welding; soldering; any process based employing the adhesive bonding of layers; CNC manufacturing or other manufacturing with machine tools; fused deposition modeling; ballistic particle manufacturing; stereolithography manufacturing processes; and any process relying on profile scanning.